package net.sk.china.city.talk.service.system;

import com.baomidou.mybatisplus.extension.service.IService;
import net.sk.china.city.talk.model.system.SystemFormTemp;
import net.sk.china.city.talk.request.system.SystemFormCheckRequest;
import net.sk.china.city.talk.request.system.SystemFormTempRequest;
import net.sk.china.city.talk.request.system.SystemFormTempSearchRequest;
import net.sk.china.common.request.PageParamRequest;

import java.util.List;

/**
 * SystemFormTempService 接口
 * +----------------------------------------------------------------------
 * // | Talk To [ 聊来改善地区金融服务环境，助力企业发展 ]
 * // +----------------------------------------------------------------------
 * // | Copyright (c) 2018-2024 聊来 All rights reserved.
 * // +----------------------------------------------------------------------
 * // | Licensed ( <a href="http://www.apache.org/licenses/LICENSE-2.0">apache</a> )
 * // +----------------------------------------------------------------------
 * // | @Author: 聊来 <18970881148@qq.com>
 * // +----------------------------------------------------------------------
 * // | DateTime: 2024/6/3 10:33
 * // +----------------------------------------------------------------------
 */
public interface SystemFormTempService extends IService<SystemFormTemp> {

    /**
     * 列表
     * @param request 请求参数
     * @param pageParamRequest 分页类参数
     * @return {@code List<SystemFormTemp>}
     */
    List<SystemFormTemp> getList(SystemFormTempSearchRequest request, PageParamRequest pageParamRequest);

    /**
     * 验证item规则
     * @param systemFormCheckRequest SystemFormCheckRequest 表单数据提交
     */
    void checkForm(SystemFormCheckRequest systemFormCheckRequest);

    /**
     * 新增表单模板
     * @param systemFormTempRequest 新增参数
     * @return {@code boolean}
     */
    boolean add(SystemFormTempRequest systemFormTempRequest);

    /**
     * 修改表单模板
     * @param id integer id
     * @param systemFormTempRequest 修改参数
     * @return {@code boolean}
     */
    boolean edit(Integer id, SystemFormTempRequest systemFormTempRequest);
}
